地图基本操作 Sample详情

最后更新时间:2020年12月8日

地图基本操作包括,地图的放大、缩小、旋转、倾斜、跳转(中心点+级别范围)、移动、复位。用户通常会使用手势交互来实现这些操作,当然也提供代码方式来实现,满足特殊需求。

除此之外,还有其他地图操作接口,具体请参考API:com.zondy.mapgis.map.view.mapview程序包中的MapView类方法。

1 放大、缩小

基于地图的分级显示原理,调用zoomIn、zoomOut实现的效果为地图放大一级或缩小一级。

//地图放大一级
mapView.zoomIn(true);
//地图缩小一级
mapView.zoomOut(true);

说明:方法中的参数表示是否开启动画,true表示开启,即从当前显示级别放大到下一级别会看到动画渐变效果,不开启则直接跳转为下一级状态。后续方法中的boolean值参数作用类似。

2 旋转、倾斜

以屏幕上某一视图点作为中心点,设置地图的旋转角度。

// 根据屏幕的高宽视图中心坐标点
DisplayMetrics dm = getResources().getDisplayMetrics();
//初始获取当前视窗的中心点(窗口坐标)
viewCenterPoint = new PointF(dm.widthPixels / 2, dm.heightPixels / 2);
//地图旋转
mapView.rotate(20, viewCenterPoint.x, viewCenterPoint.y, true);

设置地图的倾斜角度,以更加立体的方式查看地图。

//地图倾斜角度
slopeAngle = mapView.getSlopeAngle();
slopeAngle += 10.0f;
//设置地图倾斜
mapView.setSlopeAngle(slopeAngle, true);
mapView.refresh();

3 跳转

//地图跳转到指定点
mapView.zoomToCenter(mapView.getCenterPoint(), 2.0f, true);
//地图跳转到指定范围
Rect rect=new Rect(-120, -80, 120, 80);
mapView.zoomToRange(rect, true);

4 移动

将地图从水平和垂直方向移动一定的距离。

//移动地图(单位像素):将地图向左移动10个像素,向上移动10个像素
mapView.moveMap( 10, 10, false);   

说明:第一个参数表明水平方向移动的像素大小;第二个参数表明垂直方向移动的像素大小;第三个参数表明是否启用动画。

5 复位

将地图复位到最初始的状态:将地图的旋转角度、倾斜角度归零,缩放到地图初始范围。

//地图复位
mapView.restore(true);